package com.ruoyi.inventory.mapper;

import java.util.List;
import com.ruoyi.inventory.domain.TWarehouseTransaction;

/**
 * 出入库单(头)Mapper接口
 *
 * @author ruoyi
 * @date 2025-09-24
 */
public interface TWarehouseTransactionMapper
{
    /**
     * 查询出入库单(头)
     *
     * @param txNo 出入库单(头)主键
     * @return 出入库单(头)
     */
    public TWarehouseTransaction selectTWarehouseTransactionByTxNo(String txNo);

    /**
     * 查询出入库单(头)列表
     *
     * @param tWarehouseTransaction 出入库单(头)
     * @return 出入库单(头)集合
     */
    public List<TWarehouseTransaction> selectTWarehouseTransactionList(TWarehouseTransaction tWarehouseTransaction);

    /**
     * 新增出入库单(头)
     *
     * @param tWarehouseTransaction 出入库单(头)
     * @return 结果
     */
    public int insertTWarehouseTransaction(TWarehouseTransaction tWarehouseTransaction);

    /**
     * 修改出入库单(头)
     *
     * @param tWarehouseTransaction 出入库单(头)
     * @return 结果
     */
    public int updateTWarehouseTransaction(TWarehouseTransaction tWarehouseTransaction);

    /**
     * 删除出入库单(头)
     *
     * @param txNo 出入库单(头)主键
     * @return 结果
     */
    public int deleteTWarehouseTransactionByTxNo(String txNo);

    /**
     * 批量删除出入库单(头)
     *
     * @param txNos 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTWarehouseTransactionByTxNos(String[] txNos);

    /**
     * 统计仓库使用情况
     *
     * @param warehouseCode 仓库编码
     * @return 使用次数
     */
    public int countByWarehouse(String warehouseCode);
}
